<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Eder
 */
class HorarioDAO {
    
    var $className;
    
    public function __construct() {
        $this->className = 'HorarioDAO';
        LogUtil::info("class $this->className", "__construct");
    }

    public function __destruct() {
        LogUtil::info("class $this->className", "__destruct");
    }
    
    public function obtenerHorarios() {
        LogUtil::info("class $this->className", "obtenerHorarios");
        global $wpdb;  
        $tempHorarios = $wpdb->get_results('SELECT   id,
                                                    codLolimsa,
                                                    descripcion,
                                                    orden,
                                                    estado,
                                                    fecha 
                                            FROM 
                                                    wp_sisres_horario '
                                          , ARRAY_A);

        $horarios = array();
        $i = 0;
        if (!empty($tempHorarios)) {
            foreach ($tempHorarios as $tempHorario) {
                $horarios[$i++] = $this->cargarHorario($tempHorario);
            }
        }
        return $horarios;
    }
    
     public function obtenerHorariosActivos() {
        LogUtil::info("class $this->className", "obtenerHorariosActivos");
        global $wpdb;  
        $tempHorarios = $wpdb->get_results('SELECT   id,
                                                    codLolimsa,
                                                    descripcion,
                                                    orden,
                                                    estado,
                                                    fecha 
                                            FROM 
                                                    wp_sisres_horario 
                                            WHERE
                                                    estado = 1
                                            ORDER BY 
                                                    orden'
                                          , ARRAY_A);

        $horarios = array();
        $i = 0;
        if (!empty($tempHorarios)) {
            foreach ($tempHorarios as $tempHorario) {
                $horarios[$i++] = $this->cargarHorario($tempHorario);
            }
        }
        return $horarios;
    }
    
    public function obtenerHorarioPorId($id) {
        LogUtil::info("class $this->className", "obtenerHorarioPorId");
        global $wpdb;  
        $tempHorario = $wpdb->get_row('SELECT   id,
                                                codLolimsa,
                                                descripcion,
                                                orden,
                                                estado,
                                                fecha 
                                            FROM 
                                                wp_sisres_horario 
                                            WHERE
                                                id = '.$id
                                          , ARRAY_A);
        $horario = $this->cargarHorario($tempHorario);
        return $horario;
    }
    
    public function guardarHorario($horario){
        LogUtil::info("class $this->className", "guardarHorario");
        global $wpdb; 
        $data_array = array(
            //'id' => $horario->id, 
            'codLolimsa' => $horario->codLolimsa, 
            'descripcion' => $horario->descripcion,  
            'orden' => $horario->orden,  
            'estado' => $horario->estado,  
            'fecha' => date("Y-m-d H:i:s",Util::obtenerHoraActualPeru())
                );
        $wpdb->insert('wp_sisres_horario',$data_array);
        return $wpdb->insert_id;
    }
    
    public function actualizarHorario($horario){
        LogUtil::info("class $this->className", "actualizarHorario");
        global $wpdb; 
        $wpdb->query('UPDATE 
                            wp_sisres_horario 
                        SET 
                            codLolimsa = "'. $horario->codLolimsa.'", 
                            descripcion = "'. $horario->descripcion.'", 
                            orden = "'. $horario->orden.'",  
                            estado = "'. $horario->estado.'"
                        WHERE 
                            id = '. $horario->id);
        return true;
    }    
    
    private function cargarHorario($tempHorario){  
        LogUtil::info("class $this->className", "cargarHorario");
        $horario = new Horario();
        $horario->id = $tempHorario['id']; 
        $horario->codLolimsa = $tempHorario['codLolimsa']; 
        $horario->descripcion = $tempHorario['descripcion'];  
        $horario->orden = $tempHorario['orden'];  
        $horario->estado = $tempHorario['estado'];  
        $horario->fecha = $tempHorario['fecha'];  
        return $horario;
    }

}
?>
